Robustness improvements.
authorMatthias Clasen <matthiasc@src.gnome.org>
Wed, 17 Sep 2003 22:44:01 +0000 (22:44 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Wed, 17 Sep 2003 22:44:01 +0000 (22:44 +0000)
* gtk/gtkuimanager.c (update_node): Robustness improvements.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkuimanager.c

index 4aa690e8745b013231dbad2c5aafc7cdd6f14bfc..6f05370c41667875670a07d7113e93a365b75ae7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2003-09-18  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkuimanager.c (update_node): Robustness improvements.
+
 2003-09-17  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkuimanager.c (text_handler): Report unexpected character
index 4aa690e8745b013231dbad2c5aafc7cdd6f14bfc..6f05370c41667875670a07d7113e93a365b75ae7 100644 (file)
@@ -1,3 +1,7 @@
+2003-09-18  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkuimanager.c (update_node): Robustness improvements.
+
 2003-09-17  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkuimanager.c (text_handler): Report unexpected character
index 4aa690e8745b013231dbad2c5aafc7cdd6f14bfc..6f05370c41667875670a07d7113e93a365b75ae7 100644 (file)
@@ -1,3 +1,7 @@
+2003-09-18  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkuimanager.c (update_node): Robustness improvements.
+
 2003-09-17  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkuimanager.c (text_handler): Report unexpected character
index 4aa690e8745b013231dbad2c5aafc7cdd6f14bfc..6f05370c41667875670a07d7113e93a365b75ae7 100644 (file)
@@ -1,3 +1,7 @@
+2003-09-18  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkuimanager.c (update_node): Robustness improvements.
+
 2003-09-17  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkuimanager.c (text_handler): Report unexpected character
index 4aa690e8745b013231dbad2c5aafc7cdd6f14bfc..6f05370c41667875670a07d7113e93a365b75ae7 100644 (file)
@@ -1,3 +1,7 @@
+2003-09-18  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkuimanager.c (update_node): Robustness improvements.
+
 2003-09-17  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkuimanager.c (text_handler): Report unexpected character
index 0cd712e8e00f73222fa2aa859605458da45c0892..838a896e2a34af174695d3fe5201e25e5331b5ee 100644 (file)
@@ -1722,13 +1722,15 @@ update_node (GtkUIManager *self,
 
       /* Check if the node doesn't have an action and must have an action */
       if (action == NULL &&
+         info->type != NODE_TYPE_ROOT &&
          info->type != NODE_TYPE_MENUBAR &&
          info->type != NODE_TYPE_TOOLBAR &&
          info->type != NODE_TYPE_SEPARATOR &&
          info->type != NODE_TYPE_MENU_PLACEHOLDER &&
          info->type != NODE_TYPE_TOOLBAR_PLACEHOLDER)
        {
-         /* FIXME: Should we warn here? */
+         g_warning ("%s: missing action", info->name);
+
          goto recurse_children;
        }
 
@@ -2063,12 +2065,14 @@ update_node (GtkUIManager *self,
       child = current->next;
       update_node (self, current, add_tearoffs && (info->type != NODE_TYPE_POPUP));
     }
-
-  if (info->type == NODE_TYPE_MENU) 
-    update_smart_separators (gtk_menu_item_get_submenu (GTK_MENU_ITEM (info->proxy)));
-  else if (info->type == NODE_TYPE_TOOLBAR)
-    update_smart_separators (info->proxy);
-
+  
+  if (info->proxy)
+    {
+      if (info->type == NODE_TYPE_MENU)
+       update_smart_separators (gtk_menu_item_get_submenu (GTK_MENU_ITEM (info->proxy)));
+      else if (info->type == NODE_TYPE_TOOLBAR)
+       update_smart_separators (info->proxy);
+    }
 
   /* handle cleanup of dead nodes */
   if (node->children == NULL && info->uifiles == NULL)